extern crate cc;

use std::env;
use std::path::{Path, PathBuf};

fn main() {
    println!("hello, build.rs");

    // cc::Build::new()
    //     .file("src/double.c")
    //     .compile("libdouble.a");

    cc::Build::new()
        .file("src/main.c")
        .file("src/HelloWord.m")
        .flag("-framework")
        .flag("Foundation")
        .flag("-lobjc")
        .compile("libHelloWorld.a");

    // let out_dir = env::var("OUT_DIR").unwrap();
    // println!("out_dir={}", out_dir);
    // println!("cargo:rustc-link-search=native={}", r"C:\Users\think\RustroverProjects\rust-oc\src");
    // println!("cargo:rustc-link-lib=static=AKCPreview");
    // println!("cargo:rustc-link-lib=crust");
    // cc::Build::new()
    //     .file("src/example_oc.m")
    //     .compile("lib111.a");
}

#[cfg(not(target_os = "windows"))]
fn add_search_path() {
    for path in std::env::var("LD_LIBRARY_PATH").unwrap_or_else(|_| "".to_string()).split(":") {
        if path.trim().len() == 0 {
            continue;
        }
        println!("cargo:rustc-link-search={}", path);
    }
}

#[cfg(target_os = "windows")]
fn add_search_path() {
    for path in std::env::var("PATH").unwrap_or_else(|_| "".to_string()).split(";") {
        if path.trim().len() == 0 {
            continue;
        }
        println!("cargo:rustc-link-search={}", path);
    }
}